package com.mzj.saas.mservice.property.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * @author hikari
 * @since 2021-05-26
 */
@ApiModel(description = "房屋信息")
public class PropertyCommunityHouseVO implements Serializable {
    private static final long serialVersionUID = -3534864230410344593L;
    @ApiModelProperty(value = "房屋ID",required = false)
    private String id;

    /*
     *小区id
     */
    @ApiModelProperty(value = "小区id",required = false)
    private String  communityId;
    @ApiModelProperty(value = "小区名",required = false)
    private String communityName;

    /*
     *楼栋id
     */
    @ApiModelProperty(value = "楼栋id",required = false)
    private Long  buildId;
    @ApiModelProperty(value = "楼栋名",required = false)
    private String buildName;

    /*
     *单元id
     */
    @ApiModelProperty(value = "单元id",required = false)
    private Long  unitId;
    @ApiModelProperty(value = "单元名",required = false)
    private String unitName;

    /*
     *楼层
     */
    @ApiModelProperty(value = "楼层",required = false)
    private Integer  floor;

    /*
     *房号
     */
    @ApiModelProperty(value = "房号",required = false)
    private String  roomNumber;

    /*
     *产权所有人、产权单位
     */
    @ApiModelProperty(value = "产权所有人、产权单位",required = false)
    private String  ownerName;

    /*
     *产权所有人电话
     */
    @ApiModelProperty(value = "产权所有人电话",required = false)
    private String  ownerMobile;

    /**
     * 成员人数
     */
    @ApiModelProperty(value = "成员人数",required = false)
    private Integer userCount;

    /**
     * 同住人数
     */
    @ApiModelProperty(value = "同住人数",required = false)
    private Integer inmateCount;
    /*
     *所属物业
     */
    @ApiModelProperty(value = "所属物业",required = false)
    private Long  housePropertyId;

    /*
     *状态：1正常 2已删除
     */
    @ApiModelProperty(value = "状态：1正常 2已删除",required = false)
    private Integer  status;

    /*
     *操作人
     */
    @ApiModelProperty(value = "操作人",required = false)
    private String  operationId;

    /*
     *创建时间
     */
    @ApiModelProperty(value = "创建时间",required = false)
    private Date  createTime;
    /**
     * 租户姓名
     */
    @ApiModelProperty(value = "租户姓名",required = false)
    private String tenantName;
    /**
     * 租户号码
     */
    @ApiModelProperty(value = "租户号码",required = false)
    private String tenantMobile;

    /**
     * 性质:1公租房、2商品房、3经济适用房、5其它
     */
    @ApiModelProperty(value = "性质:1公租房、2商品房、3经济适用房、5其它",required = false)
    private Integer houseNature;

    /**
     * 产权单位id
     */
    @ApiModelProperty(value = "产权单位id",required = false)
    private Long orgId;

    /**
     * 承租人
     */
    @ApiModelProperty(value = "承租人",required = false)
    private List matchUser;

    /**
     * 房屋是否已设承租人 0未设承租人 1已设承租人
     */
    @ApiModelProperty(value = "房屋是否已设承租人 0未设承租人 1已设承租人",required = false)
    private Integer isLessee;
    /**
     * 是否变更
     */
    private Integer changeLabel;
    @ApiModelProperty(value = "单位名称",required = false)
    private String companyName;//单位名称
    @ApiModelProperty(value = "承租人名称",required = false)
    private String matchUserName;//承租人名称
    @ApiModelProperty(value = "承租人手机号",required = false)
    private String phone;//承租人手机号
    @ApiModelProperty(value = "地址",required = false)
    private String address;//地址
    @ApiModelProperty(value = "时间",required = false)
    private String registrationTime;//时间
    private Date time1;
    @ApiModelProperty(value = "授权用户id",required = false)
    private Long lockAuthId;//授权用户id
    @ApiModelProperty(value = "智能锁id",required = false)
    private Long lockId;//智能锁id
    @ApiModelProperty(value = "已入住天数",required = false)
    private Long intakeNum;
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "合同结束时间",required = true)
    private Date endDate; //合同结束时间

    private String housemateId;//合租房屋Id

    private Integer matchType;//配租方式：1整租  2合租  默认整租


    @ApiModelProperty(value = "智能锁类型",required = true)
    private String lockType; //合同结束时间

    /**
     * 未开门消息推送提醒（0：所有用户信息推送；1：重点关注人群信息推送）
     */
    private String openPushMessageType;

    /**
     * 合同状态 ：0未签署 1已签署
     */
    private int contractStatus;


    public String getLockType() {
        return lockType;
    }

    public void setLockType(String lockType) {
        this.lockType = lockType;
    }

    public Date getEndDate() {
        return endDate;
    }

    public void setEndDate(Date endDate) {
        this.endDate = endDate;
    }

    public Long getIntakeNum() {
        return intakeNum;
    }

    public void setIntakeNum(Long intakeNum) {
        this.intakeNum = intakeNum;
    }

    public Integer getInmateCount() { return inmateCount; }

    public void setInmateCount(Integer inmateCount) {
        this.inmateCount = inmateCount;
    }

    public Long getLockAuthId() {
        return lockAuthId;
    }

    public void setLockAuthId(Long lockAuthId) {
        this.lockAuthId = lockAuthId;
    }

    public Long getLockId() {
        return lockId;
    }

    public void setLockId(Long lockId) {
        this.lockId = lockId;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getCommunityId() {
        return communityId;
    }

    public void setCommunityId(String communityId) {
        this.communityId = communityId;
    }

    public String getCommunityName() {
        return communityName;
    }

    public void setCommunityName(String communityName) {
        this.communityName = communityName;
    }

    public Long getBuildId() {
        return buildId;
    }

    public void setBuildId(Long buildId) {
        this.buildId = buildId;
    }

    public String getBuildName() {
        return buildName;
    }

    public void setBuildName(String buildName) {
        this.buildName = buildName;
    }

    public Long getUnitId() {
        return unitId;
    }

    public void setUnitId(Long unitId) {
        this.unitId = unitId;
    }

    public String getUnitName() {
        return unitName;
    }

    public void setUnitName(String unitName) {
        this.unitName = unitName;
    }

    public Integer getFloor() {
        return floor;
    }

    public void setFloor(Integer floor) {
        this.floor = floor;
    }

    public String getRoomNumber() {
        return roomNumber;
    }

    public void setRoomNumber(String roomNumber) {
        this.roomNumber = roomNumber;
    }

    public String getOwnerName() {
        return ownerName;
    }

    public void setOwnerName(String ownerName) {
        this.ownerName = ownerName;
    }

    public String getOwnerMobile() {
        return ownerMobile;
    }

    public void setOwnerMobile(String ownerMobile) {
        this.ownerMobile = ownerMobile;
    }

    public Integer getUserCount() {
        return userCount;
    }

    public void setUserCount(Integer userCount) {
        this.userCount = userCount;
    }

    public Long getHousePropertyId() {
        return housePropertyId;
    }

    public void setHousePropertyId(Long housePropertyId) {
        this.housePropertyId = housePropertyId;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public String getOperationId() {
        return operationId;
    }

    public void setOperationId(String operationId) {
        this.operationId = operationId;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

	public String getTenantName() {
		return tenantName;
	}

	public void setTenantName(String tenantName) {
		this.tenantName = tenantName;
	}

	public String getTenantMobile() {
		return tenantMobile;
	}

	public void setTenantMobile(String tenantMobile) {
		this.tenantMobile = tenantMobile;
	}

    public Integer getHouseNature() {
        return houseNature;
    }

    public void setHouseNature(Integer houseNature) {
        this.houseNature = houseNature;
    }

    public Long getOrgId() {
        return orgId;
    }

    public void setOrgId(Long orgId) {
        this.orgId = orgId;
    }

    public List getMatchUser() {
        return matchUser;
    }

    public void setMatchUser(List matchUser) {
        this.matchUser = matchUser;
    }

    public Integer getIsLessee() {
        return isLessee;
    }

    public void setIsLessee(Integer isLessee) {
        this.isLessee = isLessee;
    }

    public Integer getChangeLabel() {
        return changeLabel;
    }

    public void setChangeLabel(Integer changeLabel) {
        this.changeLabel = changeLabel;
    }

    public String getCompanyName() {
        return companyName;
    }

    public void setCompanyName(String companyName) {
        this.companyName = companyName;
    }

    public String getMatchUserName() {
        return matchUserName;
    }

    public void setMatchUserName(String matchUserName) {
        this.matchUserName = matchUserName;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getRegistrationTime() {
        return registrationTime;
    }

    public void setRegistrationTime(String registrationTime) {
        this.registrationTime = registrationTime;
    }

    public Date getTime1() {
        return time1;
    }

    public void setTime1(Date time1) {
        this.time1 = time1;
    }

    /**
     * 获取
     * @return housemateId
     */
    public String getHousemateId() {
        return housemateId;
    }

    /**
     * 设置
     * @param housemateId
     */
    public void setHousemateId(String housemateId) {
        this.housemateId = housemateId;
    }

    public String toString() {
        return "PropertyCommunityHouseVO{serialVersionUID = " + serialVersionUID + ", id = " + id + ", communityId = " + communityId + ", communityName = " + communityName + ", buildId = " + buildId + ", buildName = " + buildName + ", unitId = " + unitId + ", unitName = " + unitName + ", floor = " + floor + ", roomNumber = " + roomNumber + ", ownerName = " + ownerName + ", ownerMobile = " + ownerMobile + ", userCount = " + userCount + ", inmateCount = " + inmateCount + ", housePropertyId = " + housePropertyId + ", status = " + status + ", operationId = " + operationId + ", createTime = " + createTime + ", tenantName = " + tenantName + ", tenantMobile = " + tenantMobile + ", houseNature = " + houseNature + ", orgId = " + orgId + ", matchUser = " + matchUser + ", isLessee = " + isLessee + ", changeLabel = " + changeLabel + ", companyName = " + companyName + ", matchUserName = " + matchUserName + ", phone = " + phone + ", address = " + address + ", registrationTime = " + registrationTime + ", time1 = " + time1 + ", lockAuthId = " + lockAuthId + ", lockId = " + lockId + ", intakeNum = " + intakeNum + ", endDate = " + endDate + ", housemateId = " + housemateId + "}";
    }

    /**
     * 获取
     * @return matchType
     */
    public Integer getMatchType() {
        return matchType;
    }

    /**
     * 设置
     * @param matchType
     */
    public void setMatchType(Integer matchType) {
        this.matchType = matchType;
    }

    public String getOpenPushMessageType() {
        return openPushMessageType;
    }

    public void setOpenPushMessageType(String openPushMessageType) {
        this.openPushMessageType = openPushMessageType;
    }

    public int getContractStatus() {
        return contractStatus;
    }

    public void setContractStatus(int contractStatus) {
        this.contractStatus = contractStatus;
    }
}
